Commercial service providers have made available to individual computing users a plethora of computing applications designed to perform a wide variety of tasks, referred to collectively as commercial services. In some instances, these commercial services may be made available to users without charge. However, many commercial service providers charge users for using their commercial services, or have a desire to do so. Commercial services made available by commercial service providers that charge for their usage are referred to herein as “billable services”.
Billing systems are designed to perform a variety of billing functions. These billing systems are commonly used by commercial service providers to, for example, perform billing functions that facilitate the charging of users for the use of billable services. Billing systems are typically adapted to manage billing account information, charges, and billing account balances relating to the use of a billable service. These billing systems are also typically adapted to generate and present invoices (i.e. “bills”) to users of the billable service. Since the billing functions of a billing system can themselves be made available for use (e.g. to commercial service providers in the above scenario), these billing functions may be referred to collectively as a “billing service”.
Different types of services may be classified as billing services. For example, a billing account service and a rating service may each be considered as a billing service. A billing account service will typically provide various billing functions related to the management of user and billing account information, the calculation of billing account charges, the maintenance of invoice information, and the generation and presentation of invoices to users of a billable service, for example. On the other hand, a rating service will typically provide various other billing functions, including receiving incoming messages related to events that may be subject to billing, determining what billing rate should be charged for those events, calculating corresponding usage charges, and converting those events into chargeable billing events, for example. A billing rate defines the cost of a billable service (i.e. the commercial service being made available by a commercial service provider for which usage is charged) under a specific set of circumstances, and indicates how much a user should be charged per unit consumption of that billable service. The actual billing functions provided by different billing services can differ from service to service, and any given billing account service or rating service may not provide all of the respective billing functions specified above, which are provided only as examples.
The popularity of conducting transactions over the Internet has led to an increasing demand for businesses to integrate their computing systems, applications and services, with those of other businesses. These applications are often implemented using proprietary software written in differing programming languages. One known solution for integrating heterogeneous Internet-based applications or services introduced the concept of a “web service”. A web service is a well-defined, self-contained component that encapsulates specific functionality, and makes that functionality available to other computing applications over the Internet (or an Intranet or other network) by invocation (also referred to herein as a “web service invocation”) using a protocol. One example of a protocol that may be used in this context is the Simple Object Access Protocol (SOAP), which may be used by Internet-based application servers (also known as web servers), to provide web services. SOAP is a protocol that is often used in the exchange of information in decentralized, distributed network environments.
Recent developments in web services have imposed a greater need for software applications that are both modular and fit for use in distributed computing environments. Typical traditional billing systems, however, have not been designed in a manner that would allow them to be easily modified for providing web services.
Accordingly, there is a need for a means that would permit a billing service to be provided as a web service in distributed network environments.